<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MTB CAT1 Peripheral driver library: Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen_style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><a href="http://www.cypress.com/"><img alt="Logo" src="IFXCYP_one-line.png"/></a></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">MTB CAT1 Peripheral driver library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__group__cryptolite__lld__aes__functions.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Functions<div class="ingroups"><a class="el" href="group__group__cryptolite.html">Cryptolite   (Cryptography)</a> &raquo; <a class="el" href="group__group__cryptolite__lld__aes.html">Symmetric Key Algorithm (AES)</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">General Description</h2>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gabbfcd50ce7d150d511d074481b79e360"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#gabbfcd50ce7d150d511d074481b79e360">Cy_Cryptolite_Aes_ProcessBlock</a> (CRYPTOLITE_Type *base, <a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *aesState, uint32_t *dstBlock, uint32_t const *srcBlock)</td></tr>
<tr class="memdesc:gabbfcd50ce7d150d511d074481b79e360"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs the AES block cipher.  <a href="#gabbfcd50ce7d150d511d074481b79e360">More...</a><br /></td></tr>
<tr class="separator:gabbfcd50ce7d150d511d074481b79e360"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga269ef8e1e1bf7e1f7bc61f0794385dc6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#ga269ef8e1e1bf7e1f7bc61f0794385dc6">Cy_Cryptolite_Aes_Init</a> (CRYPTOLITE_Type *base, uint8_t const *key, <a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *aesState, <a class="el" href="structcy__stc__cryptolite__aes__buffers__t.html">cy_stc_cryptolite_aes_buffers_t</a> *aesBuffers)</td></tr>
<tr class="memdesc:ga269ef8e1e1bf7e1f7bc61f0794385dc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets AES key and the buffers.  <a href="#ga269ef8e1e1bf7e1f7bc61f0794385dc6">More...</a><br /></td></tr>
<tr class="separator:ga269ef8e1e1bf7e1f7bc61f0794385dc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7760bf9d8864bad00c55283f583bcbb4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#ga7760bf9d8864bad00c55283f583bcbb4">Cy_Cryptolite_Aes_Free</a> (CRYPTOLITE_Type *base, <a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *aesState)</td></tr>
<tr class="memdesc:ga7760bf9d8864bad00c55283f583bcbb4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears AES operation context.  <a href="#ga7760bf9d8864bad00c55283f583bcbb4">More...</a><br /></td></tr>
<tr class="separator:ga7760bf9d8864bad00c55283f583bcbb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad3d97a10b483ab694e86152db755b0cd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#gad3d97a10b483ab694e86152db755b0cd">Cy_Cryptolite_Aes_Ecb</a> (CRYPTOLITE_Type *base, uint8_t *dst, uint8_t const *src, <a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *aesState)</td></tr>
<tr class="memdesc:gad3d97a10b483ab694e86152db755b0cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs an AES operation on one block.  <a href="#gad3d97a10b483ab694e86152db755b0cd">More...</a><br /></td></tr>
<tr class="separator:gad3d97a10b483ab694e86152db755b0cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab2a042e35ecf9e57ff1e4806aa38b73e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#gab2a042e35ecf9e57ff1e4806aa38b73e">Cy_Cryptolite_Aes_Ecb_Setup</a> (CRYPTOLITE_Type *base, <a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *aesState)</td></tr>
<tr class="memdesc:gab2a042e35ecf9e57ff1e4806aa38b73e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs an AES ECB setup operation.  <a href="#gab2a042e35ecf9e57ff1e4806aa38b73e">More...</a><br /></td></tr>
<tr class="separator:gab2a042e35ecf9e57ff1e4806aa38b73e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga667d244bfb6bb87154abd125006da6f6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#ga667d244bfb6bb87154abd125006da6f6">Cy_Cryptolite_Aes_Ecb_Update</a> (CRYPTOLITE_Type *base, uint32_t srcSize, uint8_t *dst, uint8_t const *src, uint32_t *dstLength, <a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *aesState)</td></tr>
<tr class="memdesc:ga667d244bfb6bb87154abd125006da6f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs an AES ECB Multistage update operation.  <a href="#ga667d244bfb6bb87154abd125006da6f6">More...</a><br /></td></tr>
<tr class="separator:ga667d244bfb6bb87154abd125006da6f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0bae857cadcc68d7205c585d39c35377"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#ga0bae857cadcc68d7205c585d39c35377">Cy_Cryptolite_Aes_Ecb_Finish</a> (CRYPTOLITE_Type *base, <a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *aesState)</td></tr>
<tr class="memdesc:ga0bae857cadcc68d7205c585d39c35377"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs an AES ECB finish operation.  <a href="#ga0bae857cadcc68d7205c585d39c35377">More...</a><br /></td></tr>
<tr class="separator:ga0bae857cadcc68d7205c585d39c35377"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0d6d2b2f9debfa36b9e957f603d9c808"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#ga0d6d2b2f9debfa36b9e957f603d9c808">Cy_Cryptolite_Aes_Cbc</a> (CRYPTOLITE_Type *base, uint32_t srcSize, uint8_t *ivPtr, uint8_t *dst, uint8_t const *src, <a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *aesState)</td></tr>
<tr class="memdesc:ga0d6d2b2f9debfa36b9e957f603d9c808"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs AES operation on a plain text with Cipher Block Chaining (CBC).  <a href="#ga0d6d2b2f9debfa36b9e957f603d9c808">More...</a><br /></td></tr>
<tr class="separator:ga0d6d2b2f9debfa36b9e957f603d9c808"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga60044d4408f893c4b599b6cd1ebee26e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#ga60044d4408f893c4b599b6cd1ebee26e">Cy_Cryptolite_Aes_Cbc_Setup</a> (CRYPTOLITE_Type *base, <a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *aesState)</td></tr>
<tr class="memdesc:ga60044d4408f893c4b599b6cd1ebee26e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs an AES CBC setup operation.  <a href="#ga60044d4408f893c4b599b6cd1ebee26e">More...</a><br /></td></tr>
<tr class="separator:ga60044d4408f893c4b599b6cd1ebee26e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6e191b99b0d91121bf7869c157bf9c45"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#ga6e191b99b0d91121bf7869c157bf9c45">Cy_Cryptolite_Aes_Cbc_Set_IV</a> (CRYPTOLITE_Type *base, uint8_t const *iv, <a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *aesState)</td></tr>
<tr class="memdesc:ga6e191b99b0d91121bf7869c157bf9c45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to set AES CBC IV.  <a href="#ga6e191b99b0d91121bf7869c157bf9c45">More...</a><br /></td></tr>
<tr class="separator:ga6e191b99b0d91121bf7869c157bf9c45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga94393977551a3fa576c70119449d8903"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#ga94393977551a3fa576c70119449d8903">Cy_Cryptolite_Aes_Cbc_Update</a> (CRYPTOLITE_Type *base, uint32_t srcSize, uint8_t *dst, uint8_t const *src, uint32_t *dstLength, <a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *aesState)</td></tr>
<tr class="memdesc:ga94393977551a3fa576c70119449d8903"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs an AES CBC Multistage update operation.  <a href="#ga94393977551a3fa576c70119449d8903">More...</a><br /></td></tr>
<tr class="separator:ga94393977551a3fa576c70119449d8903"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga389d2ef413ddbb58c864a49788caf58a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#ga389d2ef413ddbb58c864a49788caf58a">Cy_Cryptolite_Aes_Cbc_Finish</a> (CRYPTOLITE_Type *base, <a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *aesState)</td></tr>
<tr class="memdesc:ga389d2ef413ddbb58c864a49788caf58a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs an AES CBC finish operation.  <a href="#ga389d2ef413ddbb58c864a49788caf58a">More...</a><br /></td></tr>
<tr class="separator:ga389d2ef413ddbb58c864a49788caf58a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga604713d1ddd7fd7a0fd87faa45755de8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#ga604713d1ddd7fd7a0fd87faa45755de8">Cy_Cryptolite_Aes_CbcMac_Setup</a> (CRYPTOLITE_Type *base, <a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *aesState)</td></tr>
<tr class="memdesc:ga604713d1ddd7fd7a0fd87faa45755de8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs an AES CBC MAC setup operation.  <a href="#ga604713d1ddd7fd7a0fd87faa45755de8">More...</a><br /></td></tr>
<tr class="separator:ga604713d1ddd7fd7a0fd87faa45755de8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0938f13be90641079ae4c89337238d56"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#ga0938f13be90641079ae4c89337238d56">Cy_Cryptolite_Aes_CbcMac_Update</a> (CRYPTOLITE_Type *base, uint32_t srcSize, uint8_t const *src, <a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *aesState)</td></tr>
<tr class="memdesc:ga0938f13be90641079ae4c89337238d56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs an AES CBC MAC Multistage update operation.  <a href="#ga0938f13be90641079ae4c89337238d56">More...</a><br /></td></tr>
<tr class="separator:ga0938f13be90641079ae4c89337238d56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga872435963115f63ea9fd25fc61eb56cc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#ga872435963115f63ea9fd25fc61eb56cc">Cy_Cryptolite_Aes_CbcMac_Finish</a> (CRYPTOLITE_Type *base, uint8_t *mac, <a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *aesState)</td></tr>
<tr class="memdesc:ga872435963115f63ea9fd25fc61eb56cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs an AES CBC MAC finish operation.  <a href="#ga872435963115f63ea9fd25fc61eb56cc">More...</a><br /></td></tr>
<tr class="separator:ga872435963115f63ea9fd25fc61eb56cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab48efa7cb99cfca3be5a570d53a35e50"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#gab48efa7cb99cfca3be5a570d53a35e50">Cy_Cryptolite_Aes_Cfb</a> (CRYPTOLITE_Type *base, <a class="el" href="group__group__cryptolite__enums.html#gaf5b43a01eda17c36ed35480dd44ded9c">cy_en_cryptolite_dir_mode_t</a> dirMode, uint32_t srcSize, uint8_t *ivPtr, uint8_t *dst, uint8_t const *src, <a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *aesState)</td></tr>
<tr class="memdesc:gab48efa7cb99cfca3be5a570d53a35e50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs AES operation on a plain text with the Cipher Feedback Block method (CFB).  <a href="#gab48efa7cb99cfca3be5a570d53a35e50">More...</a><br /></td></tr>
<tr class="separator:gab48efa7cb99cfca3be5a570d53a35e50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga35776e96250bcf19300c4e1daf287c2f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#ga35776e96250bcf19300c4e1daf287c2f">Cy_Cryptolite_Aes_Cfb_Setup</a> (CRYPTOLITE_Type *base, <a class="el" href="group__group__cryptolite__enums.html#gaf5b43a01eda17c36ed35480dd44ded9c">cy_en_cryptolite_dir_mode_t</a> dirMode, <a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *aesState)</td></tr>
<tr class="memdesc:ga35776e96250bcf19300c4e1daf287c2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs an AES CFB setup operation.  <a href="#ga35776e96250bcf19300c4e1daf287c2f">More...</a><br /></td></tr>
<tr class="separator:ga35776e96250bcf19300c4e1daf287c2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga61e111a3b4732a9632526f859761b924"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#ga61e111a3b4732a9632526f859761b924">Cy_Cryptolite_Aes_Cfb_Set_IV</a> (CRYPTOLITE_Type *base, uint8_t const *iv, <a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *aesState)</td></tr>
<tr class="memdesc:ga61e111a3b4732a9632526f859761b924"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets IV for AES CFB mode.  <a href="#ga61e111a3b4732a9632526f859761b924">More...</a><br /></td></tr>
<tr class="separator:ga61e111a3b4732a9632526f859761b924"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaecdacbb172e505c1521d347082cc9ac4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#gaecdacbb172e505c1521d347082cc9ac4">Cy_Cryptolite_Aes_Cfb_Update</a> (CRYPTOLITE_Type *base, uint32_t srcSize, uint8_t *dst, uint8_t const *src, <a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *aesState)</td></tr>
<tr class="memdesc:gaecdacbb172e505c1521d347082cc9ac4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs an AES CFB Multistage update operation.  <a href="#gaecdacbb172e505c1521d347082cc9ac4">More...</a><br /></td></tr>
<tr class="separator:gaecdacbb172e505c1521d347082cc9ac4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad97599a8f2872d8807561363f9262f20"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#gad97599a8f2872d8807561363f9262f20">Cy_Cryptolite_Aes_Cfb_Finish</a> (CRYPTOLITE_Type *base, <a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *aesState)</td></tr>
<tr class="memdesc:gad97599a8f2872d8807561363f9262f20"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs an AES CFB finish operation.  <a href="#gad97599a8f2872d8807561363f9262f20">More...</a><br /></td></tr>
<tr class="separator:gad97599a8f2872d8807561363f9262f20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga96a14d14eef1ba7bf51a97ff809cce84"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#ga96a14d14eef1ba7bf51a97ff809cce84">Cy_Cryptolite_Aes_Ctr</a> (CRYPTOLITE_Type *base, uint32_t srcSize, uint32_t *srcOffset, uint8_t *ivPtr, uint8_t *dst, uint8_t const *src, <a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *aesState)</td></tr>
<tr class="memdesc:ga96a14d14eef1ba7bf51a97ff809cce84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs an AES operation on a plain text using the counter method (CTR).  <a href="#ga96a14d14eef1ba7bf51a97ff809cce84">More...</a><br /></td></tr>
<tr class="separator:ga96a14d14eef1ba7bf51a97ff809cce84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga51a541960bd8b68a4735986b3c6e5372"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#ga51a541960bd8b68a4735986b3c6e5372">Cy_Cryptolite_Aes_Ctr_Setup</a> (CRYPTOLITE_Type *base, <a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *aesState)</td></tr>
<tr class="memdesc:ga51a541960bd8b68a4735986b3c6e5372"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs an AES CTR setup operation.  <a href="#ga51a541960bd8b68a4735986b3c6e5372">More...</a><br /></td></tr>
<tr class="separator:ga51a541960bd8b68a4735986b3c6e5372"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9bf8a929a9a95d54a2da16314ac0552f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#ga9bf8a929a9a95d54a2da16314ac0552f">Cy_Cryptolite_Aes_Ctr_Set_IV</a> (CRYPTOLITE_Type *base, const uint8_t *iv, <a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *aesState)</td></tr>
<tr class="memdesc:ga9bf8a929a9a95d54a2da16314ac0552f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets IV for the AES CTR operation.  <a href="#ga9bf8a929a9a95d54a2da16314ac0552f">More...</a><br /></td></tr>
<tr class="separator:ga9bf8a929a9a95d54a2da16314ac0552f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaafffc82501b7b9e400c44992b2bf641e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#gaafffc82501b7b9e400c44992b2bf641e">Cy_Cryptolite_Aes_Ctr_Update</a> (CRYPTOLITE_Type *base, uint32_t srcSize, uint8_t *dst, uint8_t const *src, <a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *aesState)</td></tr>
<tr class="memdesc:gaafffc82501b7b9e400c44992b2bf641e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs an AES CTR Multistage update operation.  <a href="#gaafffc82501b7b9e400c44992b2bf641e">More...</a><br /></td></tr>
<tr class="separator:gaafffc82501b7b9e400c44992b2bf641e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1b9905f3a06a29c1aab3f414baad81d5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#ga1b9905f3a06a29c1aab3f414baad81d5">Cy_Cryptolite_Aes_Ctr_Finish</a> (CRYPTOLITE_Type *base, <a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *aesState)</td></tr>
<tr class="memdesc:ga1b9905f3a06a29c1aab3f414baad81d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs an AES CTR Finish operation.  <a href="#ga1b9905f3a06a29c1aab3f414baad81d5">More...</a><br /></td></tr>
<tr class="separator:ga1b9905f3a06a29c1aab3f414baad81d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga04a4e42f0c73f69c896d3917688c5b2a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#ga04a4e42f0c73f69c896d3917688c5b2a">Cy_Cryptolite_Aes_Ctr_Zeropad</a> (CRYPTOLITE_Type *base, uint32_t srcSize, uint8_t *ivPtr, uint8_t *dst, uint8_t const *src, <a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *aesState)</td></tr>
<tr class="memdesc:ga04a4e42f0c73f69c896d3917688c5b2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs an AES operation on a plain text using the counter method (CTR).  <a href="#ga04a4e42f0c73f69c896d3917688c5b2a">More...</a><br /></td></tr>
<tr class="separator:ga04a4e42f0c73f69c896d3917688c5b2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae3e825465dd968cf935a5d3c9d9d9180"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#gae3e825465dd968cf935a5d3c9d9d9180">Cy_Cryptolite_Aes_Ccm_Init</a> (CRYPTOLITE_Type *base, <a class="el" href="structcy__stc__cryptolite__aes__ccm__buffers__t.html">cy_stc_cryptolite_aes_ccm_buffers_t</a> *aesCcm_buffer, <a class="el" href="structcy__stc__cryptolite__aes__ccm__state__t.html">cy_stc_cryptolite_aes_ccm_state_t</a> *aesCcmState)</td></tr>
<tr class="memdesc:gae3e825465dd968cf935a5d3c9d9d9180"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs an AES CCM Init operation.  <a href="#gae3e825465dd968cf935a5d3c9d9d9180">More...</a><br /></td></tr>
<tr class="separator:gae3e825465dd968cf935a5d3c9d9d9180"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga83314843e54fb477d7de8b89c34a49b5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#ga83314843e54fb477d7de8b89c34a49b5">Cy_Cryptolite_Aes_Ccm_SetKey</a> (CRYPTOLITE_Type *base, uint8_t const *key, <a class="el" href="structcy__stc__cryptolite__aes__ccm__state__t.html">cy_stc_cryptolite_aes_ccm_state_t</a> *aesCcmState)</td></tr>
<tr class="memdesc:ga83314843e54fb477d7de8b89c34a49b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets AES CCM Key for the operation.  <a href="#ga83314843e54fb477d7de8b89c34a49b5">More...</a><br /></td></tr>
<tr class="separator:ga83314843e54fb477d7de8b89c34a49b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab1e59856acd960442a92927542b5a935"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#gab1e59856acd960442a92927542b5a935">Cy_Cryptolite_Aes_Ccm_Set_Length</a> (CRYPTOLITE_Type *base, uint32_t aadSize, uint32_t textSize, uint32_t tagLength, <a class="el" href="structcy__stc__cryptolite__aes__ccm__state__t.html">cy_stc_cryptolite_aes_ccm_state_t</a> *aesCcmState)</td></tr>
<tr class="memdesc:gab1e59856acd960442a92927542b5a935"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the length for Additional authentication data, plain text and Tag for AES CCM operation.  <a href="#gab1e59856acd960442a92927542b5a935">More...</a><br /></td></tr>
<tr class="separator:gab1e59856acd960442a92927542b5a935"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadc88e2b551ba75356ff0c18041e78a7e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#gadc88e2b551ba75356ff0c18041e78a7e">Cy_Cryptolite_Aes_Ccm_Start</a> (CRYPTOLITE_Type *base, <a class="el" href="group__group__cryptolite__enums.html#gaf5b43a01eda17c36ed35480dd44ded9c">cy_en_cryptolite_dir_mode_t</a> dirMode, uint32_t ivSize, uint8_t const *iv, <a class="el" href="structcy__stc__cryptolite__aes__ccm__state__t.html">cy_stc_cryptolite_aes_ccm_state_t</a> *aesCcmState)</td></tr>
<tr class="memdesc:gadc88e2b551ba75356ff0c18041e78a7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to set IV for the AES CCM operation.  <a href="#gadc88e2b551ba75356ff0c18041e78a7e">More...</a><br /></td></tr>
<tr class="separator:gadc88e2b551ba75356ff0c18041e78a7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1402299c900ad41cee6c681d35a7a12c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#ga1402299c900ad41cee6c681d35a7a12c">Cy_Cryptolite_Aes_Ccm_Update_Aad</a> (CRYPTOLITE_Type *base, uint32_t aadSize, uint8_t const *aad, <a class="el" href="structcy__stc__cryptolite__aes__ccm__state__t.html">cy_stc_cryptolite_aes_ccm_state_t</a> *aesCcmState)</td></tr>
<tr class="memdesc:ga1402299c900ad41cee6c681d35a7a12c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs an AES CCM update AAD Multistage operation.  <a href="#ga1402299c900ad41cee6c681d35a7a12c">More...</a><br /></td></tr>
<tr class="separator:ga1402299c900ad41cee6c681d35a7a12c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0c339b93cda874fc7ab3bcc64112fbd9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#ga0c339b93cda874fc7ab3bcc64112fbd9">Cy_Cryptolite_Aes_Ccm_Update</a> (CRYPTOLITE_Type *base, uint32_t srcSize, uint8_t *dst, uint8_t const *src, <a class="el" href="structcy__stc__cryptolite__aes__ccm__state__t.html">cy_stc_cryptolite_aes_ccm_state_t</a> *aesCcmState)</td></tr>
<tr class="memdesc:ga0c339b93cda874fc7ab3bcc64112fbd9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs an AES CCM Update Multistage update operation.  <a href="#ga0c339b93cda874fc7ab3bcc64112fbd9">More...</a><br /></td></tr>
<tr class="separator:ga0c339b93cda874fc7ab3bcc64112fbd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga013214e8bfeb2e987bf1f7e5356a95d0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#ga013214e8bfeb2e987bf1f7e5356a95d0">Cy_Cryptolite_Aes_Ccm_Finish</a> (CRYPTOLITE_Type *base, uint8_t *tag, <a class="el" href="structcy__stc__cryptolite__aes__ccm__state__t.html">cy_stc_cryptolite_aes_ccm_state_t</a> *aesCcmState)</td></tr>
<tr class="memdesc:ga013214e8bfeb2e987bf1f7e5356a95d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs an AES CCM finish operation.  <a href="#ga013214e8bfeb2e987bf1f7e5356a95d0">More...</a><br /></td></tr>
<tr class="separator:ga013214e8bfeb2e987bf1f7e5356a95d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3995db777facc039b2b5eece6d4f7bc8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#ga3995db777facc039b2b5eece6d4f7bc8">Cy_Cryptolite_Aes_Ccm_Encrypt_Tag</a> (CRYPTOLITE_Type *base, uint32_t ivSize, uint8_t const *iv, uint32_t aadSize, uint8_t const *aad, uint32_t srcSize, uint8_t *cipherTxt, uint8_t const *plainTxt, uint32_t tagSize, uint8_t *tag, <a class="el" href="structcy__stc__cryptolite__aes__ccm__state__t.html">cy_stc_cryptolite_aes_ccm_state_t</a> *aesCcmState)</td></tr>
<tr class="memdesc:ga3995db777facc039b2b5eece6d4f7bc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs an AES CCM Encrypt operation.  <a href="#ga3995db777facc039b2b5eece6d4f7bc8">More...</a><br /></td></tr>
<tr class="separator:ga3995db777facc039b2b5eece6d4f7bc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaea0a922a48b6fdd1c6bad0c94acdfba9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#gaea0a922a48b6fdd1c6bad0c94acdfba9">Cy_Cryptolite_Aes_Ccm_Decrypt</a> (CRYPTOLITE_Type *base, uint32_t ivSize, uint8_t const *iv, uint32_t aadSize, uint8_t const *aad, uint32_t srcSize, uint8_t *plainTxt, uint8_t const *cipherTxt, uint32_t tagSize, uint8_t *tag, <a class="el" href="group__group__cryptolite__enums.html#gaa6c3a6c7b4f7e57d0aa8a70fa4b480a1">cy_en_cryptolite_ccm_auth_result_t</a> *isValid, <a class="el" href="structcy__stc__cryptolite__aes__ccm__state__t.html">cy_stc_cryptolite_aes_ccm_state_t</a> *aesCcmState)</td></tr>
<tr class="memdesc:gaea0a922a48b6fdd1c6bad0c94acdfba9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs an AES CCM Decrypt operation.  <a href="#gaea0a922a48b6fdd1c6bad0c94acdfba9">More...</a><br /></td></tr>
<tr class="separator:gaea0a922a48b6fdd1c6bad0c94acdfba9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9ae19c1dc0b964e7fcc68a635f636004"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__cryptolite__lld__aes__functions.html#ga9ae19c1dc0b964e7fcc68a635f636004">Cy_Cryptolite_Aes_Ccm_Free</a> (CRYPTOLITE_Type *base, <a class="el" href="structcy__stc__cryptolite__aes__ccm__state__t.html">cy_stc_cryptolite_aes_ccm_state_t</a> *aesCcmState)</td></tr>
<tr class="memdesc:ga9ae19c1dc0b964e7fcc68a635f636004"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears AES CCM operation context.  <a href="#ga9ae19c1dc0b964e7fcc68a635f636004">More...</a><br /></td></tr>
<tr class="separator:ga9ae19c1dc0b964e7fcc68a635f636004"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="gabbfcd50ce7d150d511d074481b79e360"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabbfcd50ce7d150d511d074481b79e360">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_ProcessBlock()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_ProcessBlock </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesState</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>dstBlock</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t const *&#160;</td>
          <td class="paramname"><em>srcBlock</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs the AES block cipher. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">aesState</td><td>the pointer to the <a class="el" href="structcy__stc__cryptolite__aes__state__t.html" title="The structure for storing the AES context. ">cy_stc_cryptolite_aes_state_t</a> structure that stores all internal variables for Cryptolite driver.</td></tr>
    <tr><td class="paramname">dstBlock</td><td>The pointer to the cipher text.</td></tr>
    <tr><td class="paramname">srcBlock</td><td>The pointer to the plain text. Must be 4-Byte aligned!</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> </dd></dl>

</div>
</div>
<a id="ga269ef8e1e1bf7e1f7bc61f0794385dc6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga269ef8e1e1bf7e1f7bc61f0794385dc6">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Init </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t const *&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesState</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__buffers__t.html">cy_stc_cryptolite_aes_buffers_t</a> *&#160;</td>
          <td class="paramname"><em>aesBuffers</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets AES key and the buffers. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">key</td><td>The pointer to the encryption/decryption key. The key must align in 4 byte boundary.</td></tr>
    <tr><td class="paramname">aesState</td><td>The pointer to the AES state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
    <tr><td class="paramname">aesBuffers</td><td>The pointer to the memory buffers storage.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a></dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line"></div><div class="line">        <span class="comment">/* AES 128 bit key */</span></div><div class="line">    CY_ALIGN(4) uint8_t AesEcbKey128[] =</div><div class="line">    {</div><div class="line">        0x2b,0x7e,0x15,0x16,0x28,0xae,0xd2,0xa6,0xab,0xf7,0x15,0x88,0x09,0xcf,0x4f,0x3c</div><div class="line">    };</div><div class="line"></div><div class="line">        <span class="comment">/* 16 byte plain text */</span></div><div class="line">    CY_ALIGN(4)  uint8_t AesEcb128PlainTxtRef[16] =</div><div class="line">    {</div><div class="line">        0x6b,0xc1,0xbe,0xe2,0x2e,0x40,0x9f,0x96,0xe9,0x3d,0x7e,0x11,0x73,0x93,0x17,0x2a</div><div class="line">    };</div><div class="line"></div><div class="line">    CY_ALIGN(4) uint8_t AesEcbCipherTxt[16]={0};</div><div class="line">    <a class="code" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> aes_state;</div><div class="line">    <a class="code" href="structcy__stc__cryptolite__aes__buffers__t.html">cy_stc_cryptolite_aes_buffers_t</a> aesBuffers;</div><div class="line"></div><div class="line">    <a class="code" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> status;</div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__aes__functions.html#ga269ef8e1e1bf7e1f7bc61f0794385dc6">Cy_Cryptolite_Aes_Init</a>(CRYPTOLITE, AesEcbKey128, &amp;aes_state, &amp;aesBuffers);</div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    <span class="comment">/* Encrypt the message with AES ECB */</span></div><div class="line">    status =   <a class="code" href="group__group__cryptolite__lld__aes__functions.html#gad3d97a10b483ab694e86152db755b0cd">Cy_Cryptolite_Aes_Ecb</a>(CRYPTOLITE, AesEcbCipherTxt, AesEcb128PlainTxtRef, &amp;aes_state);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__aes__functions.html#ga7760bf9d8864bad00c55283f583bcbb4">Cy_Cryptolite_Aes_Free</a>(CRYPTOLITE, &amp;aes_state);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga7760bf9d8864bad00c55283f583bcbb4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7760bf9d8864bad00c55283f583bcbb4">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Free()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Free </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Clears AES operation context. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">aesState</td><td>The pointer to the AES state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a></dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line"></div><div class="line">        <span class="comment">/* AES 128 bit key */</span></div><div class="line">    CY_ALIGN(4) uint8_t AesEcbKey128[] =</div><div class="line">    {</div><div class="line">        0x2b,0x7e,0x15,0x16,0x28,0xae,0xd2,0xa6,0xab,0xf7,0x15,0x88,0x09,0xcf,0x4f,0x3c</div><div class="line">    };</div><div class="line"></div><div class="line">        <span class="comment">/* 16 byte plain text */</span></div><div class="line">    CY_ALIGN(4)  uint8_t AesEcb128PlainTxtRef[16] =</div><div class="line">    {</div><div class="line">        0x6b,0xc1,0xbe,0xe2,0x2e,0x40,0x9f,0x96,0xe9,0x3d,0x7e,0x11,0x73,0x93,0x17,0x2a</div><div class="line">    };</div><div class="line"></div><div class="line">    CY_ALIGN(4) uint8_t AesEcbCipherTxt[16]={0};</div><div class="line">    <a class="code" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> aes_state;</div><div class="line">    <a class="code" href="structcy__stc__cryptolite__aes__buffers__t.html">cy_stc_cryptolite_aes_buffers_t</a> aesBuffers;</div><div class="line"></div><div class="line">    <a class="code" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> status;</div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__aes__functions.html#ga269ef8e1e1bf7e1f7bc61f0794385dc6">Cy_Cryptolite_Aes_Init</a>(CRYPTOLITE, AesEcbKey128, &amp;aes_state, &amp;aesBuffers);</div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    <span class="comment">/* Encrypt the message with AES ECB */</span></div><div class="line">    status =   <a class="code" href="group__group__cryptolite__lld__aes__functions.html#gad3d97a10b483ab694e86152db755b0cd">Cy_Cryptolite_Aes_Ecb</a>(CRYPTOLITE, AesEcbCipherTxt, AesEcb128PlainTxtRef, &amp;aes_state);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__aes__functions.html#ga7760bf9d8864bad00c55283f583bcbb4">Cy_Cryptolite_Aes_Free</a>(CRYPTOLITE, &amp;aes_state);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="gad3d97a10b483ab694e86152db755b0cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad3d97a10b483ab694e86152db755b0cd">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Ecb()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Ecb </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t const *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs an AES operation on one block. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">dst</td><td>The pointer to a destination cipher block.</td></tr>
    <tr><td class="paramname">src</td><td>The pointer to a source block.</td></tr>
    <tr><td class="paramname">aesState</td><td>The pointer to the AES state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a></dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line"></div><div class="line">        <span class="comment">/* AES 128 bit key */</span></div><div class="line">    CY_ALIGN(4) uint8_t AesEcbKey128[] =</div><div class="line">    {</div><div class="line">        0x2b,0x7e,0x15,0x16,0x28,0xae,0xd2,0xa6,0xab,0xf7,0x15,0x88,0x09,0xcf,0x4f,0x3c</div><div class="line">    };</div><div class="line"></div><div class="line">        <span class="comment">/* 16 byte plain text */</span></div><div class="line">    CY_ALIGN(4)  uint8_t AesEcb128PlainTxtRef[16] =</div><div class="line">    {</div><div class="line">        0x6b,0xc1,0xbe,0xe2,0x2e,0x40,0x9f,0x96,0xe9,0x3d,0x7e,0x11,0x73,0x93,0x17,0x2a</div><div class="line">    };</div><div class="line"></div><div class="line">    CY_ALIGN(4) uint8_t AesEcbCipherTxt[16]={0};</div><div class="line">    <a class="code" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> aes_state;</div><div class="line">    <a class="code" href="structcy__stc__cryptolite__aes__buffers__t.html">cy_stc_cryptolite_aes_buffers_t</a> aesBuffers;</div><div class="line"></div><div class="line">    <a class="code" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> status;</div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__aes__functions.html#ga269ef8e1e1bf7e1f7bc61f0794385dc6">Cy_Cryptolite_Aes_Init</a>(CRYPTOLITE, AesEcbKey128, &amp;aes_state, &amp;aesBuffers);</div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    <span class="comment">/* Encrypt the message with AES ECB */</span></div><div class="line">    status =   <a class="code" href="group__group__cryptolite__lld__aes__functions.html#gad3d97a10b483ab694e86152db755b0cd">Cy_Cryptolite_Aes_Ecb</a>(CRYPTOLITE, AesEcbCipherTxt, AesEcb128PlainTxtRef, &amp;aes_state);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__aes__functions.html#ga7760bf9d8864bad00c55283f583bcbb4">Cy_Cryptolite_Aes_Free</a>(CRYPTOLITE, &amp;aes_state);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="gab2a042e35ecf9e57ff1e4806aa38b73e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab2a042e35ecf9e57ff1e4806aa38b73e">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Ecb_Setup()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Ecb_Setup </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs an AES ECB setup operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">aesState</td><td>The pointer to the AES state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> </dd></dl>

</div>
</div>
<a id="ga667d244bfb6bb87154abd125006da6f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga667d244bfb6bb87154abd125006da6f6">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Ecb_Update()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Ecb_Update </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>srcSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t const *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>dstLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs an AES ECB Multistage update operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">srcSize</td><td>The size of the source block.</td></tr>
    <tr><td class="paramname">dst</td><td>The pointer to a destination cipher block.</td></tr>
    <tr><td class="paramname">src</td><td>The pointer to a source block.</td></tr>
    <tr><td class="paramname">dstLength</td><td>The size of the calculated cipher block.</td></tr>
    <tr><td class="paramname">aesState</td><td>The pointer to the AES state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> </dd></dl>

</div>
</div>
<a id="ga0bae857cadcc68d7205c585d39c35377"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0bae857cadcc68d7205c585d39c35377">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Ecb_Finish()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Ecb_Finish </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs an AES ECB finish operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">aesState</td><td>The pointer to the AES state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> </dd></dl>

</div>
</div>
<a id="ga0d6d2b2f9debfa36b9e957f603d9c808"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0d6d2b2f9debfa36b9e957f603d9c808">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Cbc()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Cbc </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>srcSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>ivPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t const *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs AES operation on a plain text with Cipher Block Chaining (CBC). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">srcSize</td><td>The size of the source plain text.</td></tr>
    <tr><td class="paramname">ivPtr</td><td>The pointer to the initial vector.</td></tr>
    <tr><td class="paramname">dst</td><td>The pointer to a destination cipher text.</td></tr>
    <tr><td class="paramname">src</td><td>The pointer to a source plain text.</td></tr>
    <tr><td class="paramname">aesState</td><td>The pointer to the AES state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a></dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line"></div><div class="line">        <span class="comment">/* AES 128 bit key */</span></div><div class="line">    CY_ALIGN(4) uint8_t AesCbcKey128[] =</div><div class="line">    {</div><div class="line">        0x2b,0x7e,0x15,0x16,0x28,0xae,0xd2,0xa6,0xab,0xf7,0x15,0x88,0x09,0xcf,0x4f,0x3c</div><div class="line">    };</div><div class="line"></div><div class="line">        <span class="comment">/* 16 byte plain text */</span></div><div class="line">    CY_ALIGN(4)  uint8_t AesCbc128PlainTxtRef[16] =</div><div class="line">    {</div><div class="line">        0x6b,0xc1,0xbe,0xe2,0x2e,0x40,0x9f,0x96,0xe9,0x3d,0x7e,0x11,0x73,0x93,0x17,0x2a</div><div class="line">    };</div><div class="line"></div><div class="line">    CY_ALIGN(4) uint8_t AesCbcIV[] =</div><div class="line">    {</div><div class="line">        0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,</div><div class="line">    };</div><div class="line"></div><div class="line">    CY_ALIGN(4) uint8_t AesCbcCipherTxt[16]={0};</div><div class="line">    <a class="code" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> aes_state;</div><div class="line">    <a class="code" href="structcy__stc__cryptolite__aes__buffers__t.html">cy_stc_cryptolite_aes_buffers_t</a> aesBuffers;</div><div class="line"></div><div class="line">    <a class="code" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> status;</div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__aes__functions.html#ga269ef8e1e1bf7e1f7bc61f0794385dc6">Cy_Cryptolite_Aes_Init</a>(CRYPTOLITE, AesCbcKey128, &amp;aes_state, &amp;aesBuffers);</div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    <span class="comment">/* Encrypt the message with AES CBC */</span></div><div class="line">    status =   <a class="code" href="group__group__cryptolite__lld__aes__functions.html#ga0d6d2b2f9debfa36b9e957f603d9c808">Cy_Cryptolite_Aes_Cbc</a>(CRYPTOLITE, <span class="keyword">sizeof</span>(AesCbc128PlainTxtRef), AesCbcIV, AesCbcCipherTxt, AesCbc128PlainTxtRef, &amp;aes_state);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__aes__functions.html#ga7760bf9d8864bad00c55283f583bcbb4">Cy_Cryptolite_Aes_Free</a>(CRYPTOLITE, &amp;aes_state);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga60044d4408f893c4b599b6cd1ebee26e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga60044d4408f893c4b599b6cd1ebee26e">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Cbc_Setup()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Cbc_Setup </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs an AES CBC setup operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">aesState</td><td>The pointer to the AES state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> </dd></dl>

</div>
</div>
<a id="ga6e191b99b0d91121bf7869c157bf9c45"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6e191b99b0d91121bf7869c157bf9c45">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Cbc_Set_IV()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Cbc_Set_IV </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t const *&#160;</td>
          <td class="paramname"><em>iv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function to set AES CBC IV. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">iv</td><td>The pointer to the IV.</td></tr>
    <tr><td class="paramname">aesState</td><td>The pointer to the AES state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> </dd></dl>

</div>
</div>
<a id="ga94393977551a3fa576c70119449d8903"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga94393977551a3fa576c70119449d8903">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Cbc_Update()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Cbc_Update </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>srcSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t const *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>dstLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs an AES CBC Multistage update operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">srcSize</td><td>The size of the source block.</td></tr>
    <tr><td class="paramname">dst</td><td>The pointer to a destination cipher block.</td></tr>
    <tr><td class="paramname">src</td><td>The pointer to a source block.</td></tr>
    <tr><td class="paramname">dstLength</td><td>The size of the calculated dst block.</td></tr>
    <tr><td class="paramname">aesState</td><td>The pointer to the AES state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> </dd></dl>

</div>
</div>
<a id="ga389d2ef413ddbb58c864a49788caf58a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga389d2ef413ddbb58c864a49788caf58a">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Cbc_Finish()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Cbc_Finish </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs an AES CBC finish operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">aesState</td><td>The pointer to the AES state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> </dd></dl>

</div>
</div>
<a id="ga604713d1ddd7fd7a0fd87faa45755de8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga604713d1ddd7fd7a0fd87faa45755de8">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_CbcMac_Setup()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_CbcMac_Setup </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs an AES CBC MAC setup operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">aesState</td><td>The pointer to the AES state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> </dd></dl>

</div>
</div>
<a id="ga0938f13be90641079ae4c89337238d56"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0938f13be90641079ae4c89337238d56">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_CbcMac_Update()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_CbcMac_Update </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>srcSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t const *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs an AES CBC MAC Multistage update operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">srcSize</td><td>The size of the source block.</td></tr>
    <tr><td class="paramname">src</td><td>The pointer to a source block.</td></tr>
    <tr><td class="paramname">aesState</td><td>The pointer to the AES state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> </dd></dl>

</div>
</div>
<a id="ga872435963115f63ea9fd25fc61eb56cc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga872435963115f63ea9fd25fc61eb56cc">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_CbcMac_Finish()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_CbcMac_Finish </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>mac</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs an AES CBC MAC finish operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">mac</td><td>The pointer to store the calculated mac.</td></tr>
    <tr><td class="paramname">aesState</td><td>The pointer to the AES state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> </dd></dl>

</div>
</div>
<a id="gab48efa7cb99cfca3be5a570d53a35e50"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab48efa7cb99cfca3be5a570d53a35e50">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Cfb()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Cfb </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__group__cryptolite__enums.html#gaf5b43a01eda17c36ed35480dd44ded9c">cy_en_cryptolite_dir_mode_t</a>&#160;</td>
          <td class="paramname"><em>dirMode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>srcSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>ivPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t const *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs AES operation on a plain text with the Cipher Feedback Block method (CFB). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">dirMode</td><td><a class="el" href="group__group__cryptolite__enums.html#gaf5b43a01eda17c36ed35480dd44ded9c">cy_en_cryptolite_dir_mode_t</a></td></tr>
    <tr><td class="paramname">srcSize</td><td>The size of the source plain text.</td></tr>
    <tr><td class="paramname">ivPtr</td><td>The pointer to the initial vector.</td></tr>
    <tr><td class="paramname">dst</td><td>The pointer to a destination cipher text.</td></tr>
    <tr><td class="paramname">src</td><td>The pointer to a source plain text.</td></tr>
    <tr><td class="paramname">aesState</td><td>The pointer to the AES state structure allocated by the user. The user must must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a></dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line"></div><div class="line">        <span class="comment">/* AES 128 bit key */</span></div><div class="line">    CY_ALIGN(4) uint8_t AesCfbKey128[] =</div><div class="line">    {</div><div class="line">        0x2b,0x7e,0x15,0x16,0x28,0xae,0xd2,0xa6,0xab,0xf7,0x15,0x88,0x09,0xcf,0x4f,0x3c</div><div class="line">    };</div><div class="line"></div><div class="line">        <span class="comment">/* 16 byte plain text */</span></div><div class="line">    CY_ALIGN(4)  uint8_t AesCfb128PlainTxtRef[16] =</div><div class="line">    {</div><div class="line">        0x6b,0xc1,0xbe,0xe2,0x2e,0x40,0x9f,0x96,0xe9,0x3d,0x7e,0x11,0x73,0x93,0x17,0x2a</div><div class="line">    };</div><div class="line"></div><div class="line">    CY_ALIGN(4) uint8_t AesCfbIV[] =</div><div class="line">    {</div><div class="line">        0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,</div><div class="line">    };</div><div class="line"></div><div class="line">    CY_ALIGN(4) uint8_t AesCfbCipherTxt[16]={0};</div><div class="line">    <a class="code" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> aes_state;</div><div class="line">    <a class="code" href="structcy__stc__cryptolite__aes__buffers__t.html">cy_stc_cryptolite_aes_buffers_t</a> aesBuffers;</div><div class="line"></div><div class="line">    <a class="code" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> status;</div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__aes__functions.html#ga269ef8e1e1bf7e1f7bc61f0794385dc6">Cy_Cryptolite_Aes_Init</a>(CRYPTOLITE, AesCfbKey128, &amp;aes_state, &amp;aesBuffers);</div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    <span class="comment">/* Encrypt the message with AES CFB */</span></div><div class="line">    status =   <a class="code" href="group__group__cryptolite__lld__aes__functions.html#gab48efa7cb99cfca3be5a570d53a35e50">Cy_Cryptolite_Aes_Cfb</a>(CRYPTOLITE,</div><div class="line">    <a class="code" href="group__group__cryptolite__enums.html#ggaf5b43a01eda17c36ed35480dd44ded9ca6ae21effbcd68240cfcddbbff9b96ac5">CY_CRYPTOLITE_ENCRYPT</a>, <span class="keyword">sizeof</span>(AesCfb128PlainTxtRef), AesCfbIV, AesCfbCipherTxt, AesCfb128PlainTxtRef, &amp;aes_state);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__aes__functions.html#ga7760bf9d8864bad00c55283f583bcbb4">Cy_Cryptolite_Aes_Free</a>(CRYPTOLITE, &amp;aes_state);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga35776e96250bcf19300c4e1daf287c2f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga35776e96250bcf19300c4e1daf287c2f">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Cfb_Setup()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Cfb_Setup </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__group__cryptolite__enums.html#gaf5b43a01eda17c36ed35480dd44ded9c">cy_en_cryptolite_dir_mode_t</a>&#160;</td>
          <td class="paramname"><em>dirMode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs an AES CFB setup operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTO instance.</td></tr>
    <tr><td class="paramname">dirMode</td><td>Can be <a class="el" href="group__group__cryptolite__enums.html#ggaf5b43a01eda17c36ed35480dd44ded9ca6ae21effbcd68240cfcddbbff9b96ac5">CY_CRYPTOLITE_ENCRYPT</a> or <a class="el" href="group__group__crypto__enums.html#ggae040fb530d4d110976bedfcdb7c8f09cac7ccc0aa22f73054744e87593deb77fd">CY_CRYPTO_DECRYPT</a> (<a class="el" href="group__group__cryptolite__enums.html#gaf5b43a01eda17c36ed35480dd44ded9c">cy_en_cryptolite_dir_mode_t</a>).</td></tr>
    <tr><td class="paramname">aesState</td><td>The pointer to the AES state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> </dd></dl>

</div>
</div>
<a id="ga61e111a3b4732a9632526f859761b924"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga61e111a3b4732a9632526f859761b924">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Cfb_Set_IV()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Cfb_Set_IV </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t const *&#160;</td>
          <td class="paramname"><em>iv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets IV for AES CFB mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTO instance.</td></tr>
    <tr><td class="paramname">iv</td><td>The pointer to iv.</td></tr>
    <tr><td class="paramname">aesState</td><td>The pointer to the AES state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> </dd></dl>

</div>
</div>
<a id="gaecdacbb172e505c1521d347082cc9ac4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaecdacbb172e505c1521d347082cc9ac4">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Cfb_Update()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Cfb_Update </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>srcSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t const *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs an AES CFB Multistage update operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTO instance.</td></tr>
    <tr><td class="paramname">srcSize</td><td>The size of the source block.</td></tr>
    <tr><td class="paramname">dst</td><td>The pointer to a destination cipher block.</td></tr>
    <tr><td class="paramname">src</td><td>The pointer to a source block.</td></tr>
    <tr><td class="paramname">aesState</td><td>The pointer to the AES state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> </dd></dl>

</div>
</div>
<a id="gad97599a8f2872d8807561363f9262f20"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad97599a8f2872d8807561363f9262f20">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Cfb_Finish()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Cfb_Finish </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs an AES CFB finish operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTO instance.</td></tr>
    <tr><td class="paramname">aesState</td><td>The pointer to the AES state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> </dd></dl>

</div>
</div>
<a id="ga96a14d14eef1ba7bf51a97ff809cce84"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga96a14d14eef1ba7bf51a97ff809cce84">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Ctr()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Ctr </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>srcSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>srcOffset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>ivPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t const *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs an AES operation on a plain text using the counter method (CTR). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">srcSize</td><td>The size of a source plain text.</td></tr>
    <tr><td class="paramname">srcOffset</td><td>The size of an offset within the current block stream for resuming within the current cipher stream.</td></tr>
    <tr><td class="paramname">ivPtr</td><td>The 128-bit initial vector that contains a 64-bit nonce and 64-bit counter.</td></tr>
    <tr><td class="paramname">dst</td><td>The pointer to a destination cipher text.</td></tr>
    <tr><td class="paramname">src</td><td>The pointer to a source plain text. Must be 4-Byte aligned.</td></tr>
    <tr><td class="paramname">aesState</td><td>The pointer to the AES state structure allocated by the user. The user must must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a></dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line"></div><div class="line">        <span class="comment">/* AES 128 bit key */</span></div><div class="line">    CY_ALIGN(4) uint8_t AesCtrKey128[] =</div><div class="line">    {</div><div class="line">        0x2b,0x7e,0x15,0x16,0x28,0xae,0xd2,0xa6,0xab,0xf7,0x15,0x88,0x09,0xcf,0x4f,0x3c</div><div class="line">    };</div><div class="line"></div><div class="line">        <span class="comment">/* 16 byte plain text */</span></div><div class="line">    CY_ALIGN(4)  uint8_t AesCtr128PlainTxtRef[16] =</div><div class="line">    {</div><div class="line">        0x6b,0xc1,0xbe,0xe2,0x2e,0x40,0x9f,0x96,0xe9,0x3d,0x7e,0x11,0x73,0x93,0x17,0x2a</div><div class="line">    };</div><div class="line"></div><div class="line">    CY_ALIGN(4) uint8_t AesCtrIV[] =</div><div class="line">    {</div><div class="line">        0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,</div><div class="line">    };</div><div class="line"></div><div class="line">    CY_ALIGN(4) uint32_t srcOffset;</div><div class="line"></div><div class="line">    CY_ALIGN(4) uint8_t AesCtrCipherTxt[16]={0};</div><div class="line">    <a class="code" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> aes_state;</div><div class="line">    <a class="code" href="structcy__stc__cryptolite__aes__buffers__t.html">cy_stc_cryptolite_aes_buffers_t</a> aesBuffers;</div><div class="line"></div><div class="line">    <a class="code" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> status;</div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__aes__functions.html#ga269ef8e1e1bf7e1f7bc61f0794385dc6">Cy_Cryptolite_Aes_Init</a>(CRYPTOLITE, AesCtrKey128, &amp;aes_state, &amp;aesBuffers);</div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    <span class="comment">/* Encrypt the message with AES Ctr */</span></div><div class="line">    status =   <a class="code" href="group__group__cryptolite__lld__aes__functions.html#ga96a14d14eef1ba7bf51a97ff809cce84">Cy_Cryptolite_Aes_Ctr</a>(CRYPTOLITE, <span class="keyword">sizeof</span>(AesCtr128PlainTxtRef), &amp;srcOffset, AesCtrIV, AesCtrCipherTxt, AesCtr128PlainTxtRef, &amp;aes_state);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div><div class="line">    status = <a class="code" href="group__group__cryptolite__lld__aes__functions.html#ga7760bf9d8864bad00c55283f583bcbb4">Cy_Cryptolite_Aes_Free</a>(CRYPTOLITE, &amp;aes_state);</div><div class="line"></div><div class="line">    <span class="comment">/* ... check for errors... */</span></div><div class="line"></div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga51a541960bd8b68a4735986b3c6e5372"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga51a541960bd8b68a4735986b3c6e5372">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Ctr_Setup()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Ctr_Setup </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs an AES CTR setup operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">aesState</td><td>The pointer to the AES state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__crypto__enums.html#ga3a65158da3dc5cb6aa016ae599542aad">cy_en_crypto_status_t</a> </dd></dl>

</div>
</div>
<a id="ga9bf8a929a9a95d54a2da16314ac0552f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9bf8a929a9a95d54a2da16314ac0552f">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Ctr_Set_IV()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Ctr_Set_IV </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const uint8_t *&#160;</td>
          <td class="paramname"><em>iv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets IV for the AES CTR operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">iv</td><td>The pointer to iv.</td></tr>
    <tr><td class="paramname">aesState</td><td>The pointer to the AES state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> </dd></dl>

</div>
</div>
<a id="gaafffc82501b7b9e400c44992b2bf641e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaafffc82501b7b9e400c44992b2bf641e">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Ctr_Update()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Ctr_Update </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>srcSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t const *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs an AES CTR Multistage update operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">srcSize</td><td>The size of the source block.</td></tr>
    <tr><td class="paramname">dst</td><td>The pointer to a destination cipher block.</td></tr>
    <tr><td class="paramname">src</td><td>The pointer to a source block.</td></tr>
    <tr><td class="paramname">aesState</td><td>The pointer to the AES state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> </dd></dl>

</div>
</div>
<a id="ga1b9905f3a06a29c1aab3f414baad81d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1b9905f3a06a29c1aab3f414baad81d5">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Ctr_Finish()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Ctr_Finish </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs an AES CTR Finish operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">aesState</td><td>The pointer to the AES state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> </dd></dl>

</div>
</div>
<a id="ga04a4e42f0c73f69c896d3917688c5b2a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga04a4e42f0c73f69c896d3917688c5b2a">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Ctr_Zeropad()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Ctr_Zeropad </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>srcSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>ivPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t const *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__state__t.html">cy_stc_cryptolite_aes_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs an AES operation on a plain text using the counter method (CTR). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">srcSize</td><td>The size of a source plain text.</td></tr>
    <tr><td class="paramname">ivPtr</td><td>The 128-bit initial vector that contains a 64-bit nonce and 64-bit counter.</td></tr>
    <tr><td class="paramname">dst</td><td>The pointer to a destination cipher text.</td></tr>
    <tr><td class="paramname">src</td><td>The pointer to a source plain text. Must be 4-Byte aligned.</td></tr>
    <tr><td class="paramname">aesState</td><td>The pointer to the AES state structure allocated by the user. The user must must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> </dd></dl>

</div>
</div>
<a id="gae3e825465dd968cf935a5d3c9d9d9180"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae3e825465dd968cf935a5d3c9d9d9180">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Ccm_Init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Ccm_Init </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__ccm__buffers__t.html">cy_stc_cryptolite_aes_ccm_buffers_t</a> *&#160;</td>
          <td class="paramname"><em>aesCcm_buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__ccm__state__t.html">cy_stc_cryptolite_aes_ccm_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesCcmState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs an AES CCM Init operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">aesCcm_buffer</td><td>The buffers should be a SAHB mapped addresses. The pointer to the memory buffers storage.</td></tr>
    <tr><td class="paramname">aesCcmState</td><td>The pointer to the AES CCM state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> </dd></dl>

</div>
</div>
<a id="ga83314843e54fb477d7de8b89c34a49b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga83314843e54fb477d7de8b89c34a49b5">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Ccm_SetKey()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Ccm_SetKey </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t const *&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__ccm__state__t.html">cy_stc_cryptolite_aes_ccm_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesCcmState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets AES CCM Key for the operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">key</td><td>The pointer to the CCM key.</td></tr>
    <tr><td class="paramname">aesCcmState</td><td>The pointer to the AES CCM state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> </dd></dl>

</div>
</div>
<a id="gab1e59856acd960442a92927542b5a935"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab1e59856acd960442a92927542b5a935">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Ccm_Set_Length()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Ccm_Set_Length </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>aadSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>textSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>tagLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__ccm__state__t.html">cy_stc_cryptolite_aes_ccm_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesCcmState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the length for Additional authentication data, plain text and Tag for AES CCM operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">aadSize</td><td>The Size of the Additional Authentication Data.</td></tr>
    <tr><td class="paramname">textSize</td><td>The Size of the Text.</td></tr>
    <tr><td class="paramname">tagLength</td><td>The Size of the Tag.</td></tr>
    <tr><td class="paramname">aesCcmState</td><td>The pointer to the AES CCM state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> </dd></dl>

</div>
</div>
<a id="gadc88e2b551ba75356ff0c18041e78a7e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gadc88e2b551ba75356ff0c18041e78a7e">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Ccm_Start()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Ccm_Start </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__group__cryptolite__enums.html#gaf5b43a01eda17c36ed35480dd44ded9c">cy_en_cryptolite_dir_mode_t</a>&#160;</td>
          <td class="paramname"><em>dirMode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>ivSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t const *&#160;</td>
          <td class="paramname"><em>iv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__ccm__state__t.html">cy_stc_cryptolite_aes_ccm_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesCcmState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function to set IV for the AES CCM operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">dirMode</td><td>Can be <a class="el" href="group__group__cryptolite__enums.html#ggaf5b43a01eda17c36ed35480dd44ded9ca6ae21effbcd68240cfcddbbff9b96ac5">CY_CRYPTOLITE_ENCRYPT</a> or <a class="el" href="group__group__cryptolite__enums.html#ggaf5b43a01eda17c36ed35480dd44ded9cabcf077fc433817831cf65e55edefedf7">CY_CRYPTOLITE_DECRYPT</a> (<a class="el" href="group__group__cryptolite__enums.html#gaf5b43a01eda17c36ed35480dd44ded9c">cy_en_cryptolite_dir_mode_t</a>)</td></tr>
    <tr><td class="paramname">ivSize</td><td>The size of the IV.</td></tr>
    <tr><td class="paramname">iv</td><td>The pointer to the IV.</td></tr>
    <tr><td class="paramname">aesCcmState</td><td>The pointer to the AES CCM state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> </dd></dl>

</div>
</div>
<a id="ga1402299c900ad41cee6c681d35a7a12c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1402299c900ad41cee6c681d35a7a12c">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Ccm_Update_Aad()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Ccm_Update_Aad </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>aadSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t const *&#160;</td>
          <td class="paramname"><em>aad</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__ccm__state__t.html">cy_stc_cryptolite_aes_ccm_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesCcmState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs an AES CCM update AAD Multistage operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">aadSize</td><td>The size of the AAD.</td></tr>
    <tr><td class="paramname">aad</td><td>The pointer to a AAD.</td></tr>
    <tr><td class="paramname">aesCcmState</td><td>The pointer to the AES CCM state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> </dd></dl>

</div>
</div>
<a id="ga0c339b93cda874fc7ab3bcc64112fbd9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0c339b93cda874fc7ab3bcc64112fbd9">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Ccm_Update()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Ccm_Update </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>srcSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t const *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__ccm__state__t.html">cy_stc_cryptolite_aes_ccm_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesCcmState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs an AES CCM Update Multistage update operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">srcSize</td><td>The size of the source block.</td></tr>
    <tr><td class="paramname">dst</td><td>The pointer to a destination block.</td></tr>
    <tr><td class="paramname">src</td><td>The pointer to a source block.</td></tr>
    <tr><td class="paramname">aesCcmState</td><td>The pointer to the AES CCM state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> </dd></dl>

</div>
</div>
<a id="ga013214e8bfeb2e987bf1f7e5356a95d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga013214e8bfeb2e987bf1f7e5356a95d0">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Ccm_Finish()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Ccm_Finish </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>tag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__ccm__state__t.html">cy_stc_cryptolite_aes_ccm_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesCcmState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs an AES CCM finish operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">tag</td><td>The pointer to the CCM Tag.</td></tr>
    <tr><td class="paramname">aesCcmState</td><td>The pointer to the AES CCM state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> </dd></dl>

</div>
</div>
<a id="ga3995db777facc039b2b5eece6d4f7bc8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3995db777facc039b2b5eece6d4f7bc8">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Ccm_Encrypt_Tag()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Ccm_Encrypt_Tag </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>ivSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t const *&#160;</td>
          <td class="paramname"><em>iv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>aadSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t const *&#160;</td>
          <td class="paramname"><em>aad</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>srcSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>cipherTxt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t const *&#160;</td>
          <td class="paramname"><em>plainTxt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>tagSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>tag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__ccm__state__t.html">cy_stc_cryptolite_aes_ccm_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesCcmState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs an AES CCM Encrypt operation. </p>
<dl class="section note"><dt>Note</dt><dd><a class="el" href="group__group__cryptolite__lld__aes__functions.html#gae3e825465dd968cf935a5d3c9d9d9180" title="Performs an AES CCM Init operation. ">Cy_Cryptolite_Aes_Ccm_Init()</a> and <a class="el" href="group__group__cryptolite__lld__aes__functions.html#ga83314843e54fb477d7de8b89c34a49b5" title="Sets AES CCM Key for the operation. ">Cy_Cryptolite_Aes_Ccm_SetKey()</a> should be called before calling this function</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">ivSize</td><td>The size of the IV.</td></tr>
    <tr><td class="paramname">iv</td><td>The pointer to the IV.</td></tr>
    <tr><td class="paramname">aadSize</td><td>The size of the AAD.</td></tr>
    <tr><td class="paramname">aad</td><td>The pointer to a AAD.</td></tr>
    <tr><td class="paramname">srcSize</td><td>The size of the source block.</td></tr>
    <tr><td class="paramname">cipherTxt</td><td>The pointer to a cipher text block.</td></tr>
    <tr><td class="paramname">plainTxt</td><td>The pointer to a plain text block.</td></tr>
    <tr><td class="paramname">tagSize</td><td>The size of the Tag.</td></tr>
    <tr><td class="paramname">tag</td><td>The pointer to the tags.</td></tr>
    <tr><td class="paramname">aesCcmState</td><td>The pointer to the AES CCM state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> </dd></dl>

</div>
</div>
<a id="gaea0a922a48b6fdd1c6bad0c94acdfba9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaea0a922a48b6fdd1c6bad0c94acdfba9">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Ccm_Decrypt()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Ccm_Decrypt </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>ivSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t const *&#160;</td>
          <td class="paramname"><em>iv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>aadSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t const *&#160;</td>
          <td class="paramname"><em>aad</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>srcSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>plainTxt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t const *&#160;</td>
          <td class="paramname"><em>cipherTxt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>tagSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>tag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__group__cryptolite__enums.html#gaa6c3a6c7b4f7e57d0aa8a70fa4b480a1">cy_en_cryptolite_ccm_auth_result_t</a> *&#160;</td>
          <td class="paramname"><em>isValid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__ccm__state__t.html">cy_stc_cryptolite_aes_ccm_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesCcmState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs an AES CCM Decrypt operation. </p>
<dl class="section note"><dt>Note</dt><dd><a class="el" href="group__group__cryptolite__lld__aes__functions.html#gae3e825465dd968cf935a5d3c9d9d9180" title="Performs an AES CCM Init operation. ">Cy_Cryptolite_Aes_Ccm_Init()</a> and <a class="el" href="group__group__cryptolite__lld__aes__functions.html#ga83314843e54fb477d7de8b89c34a49b5" title="Sets AES CCM Key for the operation. ">Cy_Cryptolite_Aes_Ccm_SetKey()</a> should be called before calling this function</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">ivSize</td><td>The size of the IV.</td></tr>
    <tr><td class="paramname">iv</td><td>The pointer to the IV.</td></tr>
    <tr><td class="paramname">aadSize</td><td>The size of the AAD.</td></tr>
    <tr><td class="paramname">aad</td><td>The pointer to a AAD.</td></tr>
    <tr><td class="paramname">srcSize</td><td>The size of the source block.</td></tr>
    <tr><td class="paramname">plainTxt</td><td>The pointer to a plain text block.</td></tr>
    <tr><td class="paramname">cipherTxt</td><td>The pointer to a cipher text block.</td></tr>
    <tr><td class="paramname">tagSize</td><td>The size of the Tag.</td></tr>
    <tr><td class="paramname">tag</td><td>The pointer to the tags.</td></tr>
    <tr><td class="paramname">isValid</td><td>The pointer Store the authentication status.</td></tr>
    <tr><td class="paramname">aesCcmState</td><td>The pointer to the AES CCM state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> </dd></dl>

</div>
</div>
<a id="ga9ae19c1dc0b964e7fcc68a635f636004"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9ae19c1dc0b964e7fcc68a635f636004">&#9670;&nbsp;</a></span>Cy_Cryptolite_Aes_Ccm_Free()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> Cy_Cryptolite_Aes_Ccm_Free </td>
          <td>(</td>
          <td class="paramtype">CRYPTOLITE_Type *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__cryptolite__aes__ccm__state__t.html">cy_stc_cryptolite_aes_ccm_state_t</a> *&#160;</td>
          <td class="paramname"><em>aesCcmState</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Clears AES CCM operation context. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the CRYPTOLITE instance.</td></tr>
    <tr><td class="paramname">aesCcmState</td><td>The pointer to the AES CCM state structure allocated by the user. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__cryptolite__enums.html#gafaeb3f2fb88784222220aee907e36710">cy_en_cryptolite_status_t</a> </dd></dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part
<div id="nav-path" class="navpath">
    <ul>
        <li class="footer">
            Generated for <b>MTB CAT1 Peripheral driver library</b> by <b>Cypress Semiconductor Corporation</b>.
            All rights reserved.
        </li>
    </ul>
</div>
-->
</body>
</html>
